home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_10_03 / cmenu.exe / CMENU.H < prev    next >
C/C++ Source or Header  |  1992-01-05  |  2KB  |  85 lines

  1. /************************************************************
  2.  *    Program:    CMENU/RMENU Menu Compiler
  3.  *    Written by: Leor Zolman, 11/90
  4.  *
  5.  *  Module: cmenu.h -- master header file
  6.  *
  7.  *    This include file contains definitions common to both 
  8.  *    the cmenu and rmenu programs.
  9.  ************************************************************/
  10.  
  11. #include <stdio.h>
  12.  
  13. #define VERSION        "1.3 (1/5/92)"
  14.  
  15. /************** System-dependent stuff: *********************/
  16.  
  17. #if __STDC__ || XENIX
  18. #    define Void void
  19. #else
  20. #    define Void    int
  21. #endif
  22.  
  23. /******************** Maximum sizes/lengths: ****************/
  24.  
  25. #define    MAX_PATH    30
  26. #define    MAX_MENUS    20
  27. #define    MAX_NEST    2
  28. #define    MAX_TXTWID    74
  29. #define    MAX_ITEMS    20
  30. #define    MAX_CMD        130
  31. #define    MAX_HELP    79
  32. #define    MAX_NAME    20
  33.  
  34. /****************** Magic constants: ************************/
  35.  
  36. #define    DEFAULT        0
  37. #define    YES            1
  38. #define    NO            2
  39.  
  40. #define    ERROR        (-1)
  41.  
  42. /******************** Nextitem types: ***********************/
  43.  
  44. #define    NXT_FIRST    1
  45. #define    NXT_LAST    2
  46. #define    NXT_NEXT    3
  47. #define    NXT_DIRECT    4
  48.  
  49. /********************** Action types: ***********************/
  50.  
  51. #define    ACT_NONE    0
  52. #define ACT_CMND    1
  53. #define ACT_LMENU    2
  54. #define    ACT_EMENU    3
  55. #define ACT_EXIT    4
  56.  
  57. /*********************** typedefs: **************************/
  58.  
  59. typedef char    BOOL;
  60.  
  61. typedef struct menu {
  62.     char    title[MAX_TXTWID];
  63.     char    path[MAX_PATH];
  64.     int        nitems;
  65.     char    align;
  66.     int        columns;
  67.     int        spacing;
  68.     int        widest;
  69.     char    escape;
  70. } MENU;
  71.  
  72. typedef struct item {
  73.     char    text[MAX_TXTWID];
  74.     char    path[MAX_PATH];
  75.     char    action[MAX_CMD];
  76.     char    help[MAX_HELP];
  77.     char    pre_clear,
  78.             post_clear,
  79.             prompt;
  80.     char    acttyp;
  81.     int        lmenunum;
  82.     char    nextcode;
  83.     int        nextitem;
  84. } ITEM;
  85.